package com.greenold.check.service;

import com.greenold.check.domain.Checkin;
import com.greenold.check.domain.Dto.CheckInConfigDto;
import com.greenold.check.domain.Dto.CheckinDto;
import com.greenold.check.domain.Dto.ContractDto;
import com.greenold.check.domain.Vo.CheckinVo;
import com.greenold.commen.domain.Dto.ElderDto;
import com.greenold.commen.domain.Elder;
import com.greenold.common.core.domain.AjaxResult;
import com.greenold.residing.domain.Contract;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;
import java.util.Map;

/**
 * 入住办理Service接口
 * 
 * @author ruoyi
 * @date 2025-10-13
 */
public interface ICheckinService 
{
    /**
     * 查询入住办理
     * 
     * @param id 入住办理主键
     * @return 入住办理
     */
    public Checkin selectCheckinById(String id);

    /**
     * 查询入住办理列表
     *
     * @param Id 根据id查询dto
     * @return dto
     */
    public CheckinDto selectCheckinDtoById(String Id);

    /**
     * 查询入住办理列表
     * 
     * @param checkin 入住办理
     * @return 入住办理集合
     */
    public List<Checkin> selectCheckinList(Checkin checkin);
    /*
    * @param checkinDto 入住办理Dto
    * @return 入住办理集合
    * */
    public List<CheckinDto> selectCheckinDtoList(CheckinDto checkinDto);
    /**
     * 新增入住办理
     * 
     * @param checkinVo 入住办理
     * @return 结果
     */
    public int insertCheckin(CheckinVo checkinVo);

    /**
     * 修改入住办理
     * 
     * @param checkin 入住办理
     * @return 结果
     */
    public int updateCheckin(Checkin checkin);

    /**
     * 批量删除入住办理
     * 
     * @param ids 需要删除的入住办理主键集合
     * @return 结果
     */
    public int deleteCheckinByIds(String[] ids);

    /**
     * 删除入住办理信息
     * 
     * @param id 入住办理主键
     * @return 结果
     */
    public int deleteCheckinById(String id);
    public AjaxResult create(Elder elder);
    public AjaxResult getElderInfo(String bussinessId);
    public AjaxResult review( Map<String, Object> data);
    public AjaxResult submit(String businessId, String message, String taskId,Integer shenHE);
    public AjaxResult checkInConfig( CheckInConfigDto checkInConfigDto);
    public AjaxResult sign( ContractDto contractDto);
    public AjaxResult getCareLevelAndBedList();
}
